This present invention is directed to video game controllers, and more particularly to game controllers that store and execute arbitrary sequence of moves. (Even more particularly, it relates to game controllers which employ efficient storing methods).
Widely available Video Game Systems (VGS) comprise a Video Game Processing Unit (PU) and a User Controller (UC) having a set of user play buttons. The UC provides information about each user play button setting to PU.
A play button is said to be in its Idle state or setting if it is in its default or original position, and it is said to be in an Active state or setting if it is being set by the user. More generally, the user play buttons are in an idle setting if all the buttons are in idle states. And, the user play buttons are in a Single or a Multiple setting, if respectively, one or more of the buttons are in active states. The single setting of the user play buttons is aslo refered to as a trivial setting.
A Move is a change in game status or game position, on or off the screen. While playing a game, user asks for changes in the game position or status from PU using the user play buttons. Each single setting of the user play buttons is a Request for a certain change in the game status according to specific rules or instructions of the game.
A move requested by such a single setting of the user play buttons is called a Simple Single Move. As for the multiple settings of the user play buttons, in general, each is equivalent to a simultaneous request for changes or moves corresponding to the active buttons in the play buttons. Thus, by making both "move right" and "jump" requests, the screen character can be made to perform both movements at the same time.
In many games, to enlarge the dynamics of the play, in addition to the above moves, there are certain Special Moves introduced. The special moves differ from each other and from the above mentioned moves in the way they are to be requested.
A common special move is one which is requested by a multiple setting of the user play buttons. We call this a Simple Multiple Move. Note that it is understood based on game instructions that a multiple setting of the user buttons associated with a simple multiple move does not constitute a simultaneous request for moves corresponding to active buttons in the multiple setting. But instead is a request for the designated simple multiple move. Thus, for example in "Super Mario 3", a popular game designed for Nintando video game systems, by requesting both "move right" and "twist" moves, the character would accelerate.
Another special move, typically used, is one for which the request is a short sequence of simple and/or multiple settings of the user play buttons. We will refer to this as a Combination Move. Yet another special move is a "Combination with Last Play Buttons Hold" move. Here to maintain the move the user is required to hold the last button setting of the requesting sequence.
In addition to and sometimes in connection with all the moves noted above, there are the so called "Time Dependent" moves. In a time dependent move the change could evolve in size as a function of the time its requesting user button setting is sustained.
As already mentioned, special moves differ from simple or multiple moves in the way they are requested. Even though, these moves provide more dynamics to the play, their requests, nonetheless, due to limited play buttons on the user controller, could take on many different and often complicated forms as seen from the above few examples.
To make matters worse, the user button settings associated with these special moves are usually difficult to manage and can be frustrating to players. This is because the easier settings are justly set apart for use in connection with the more frequently used simple and multiple moves, so that the special moves are less convenient to the user and hence harder to request.
No satisfactory approach to alleviation of these problems, other than to encourage players to "practice" the special moves is known. Among available video game user controllers, one advertised as programmable (to store passwords), could save a sequence of single (trivial) settings of the user buttons, and upon request reproduces each single user setting in the same order as saved, for a predetermined duration, following each with the idle setting. This feature though useful for storing and retrieving passwords does not address or solve the more complex problem of storing and/or execution of any of the discussed special moves. The storage and reproduction of the special moves, in general require, not only true reproduction of arbitrary settings of the user play buttons, but also close or exact time span of each. A practical solution to this problem, for the special moves with moderately long sequences, would require finding an efficient data compression technique.